
#ifndef TestPKBStorage_h
#define TestPKBStorage_h
// Note 1
#include <cppunit/extensions/HelperMacros.h>
class PKBStorageTest : public CPPUNIT_NS::TestFixture // Note 2
{
CPPUNIT_TEST_SUITE( PKBStorageTest );
CPPUNIT_TEST( testGetLineIndexForPatternAssignWithNoVarRef);
CPPUNIT_TEST( testGetLineIndexForPatternAssignWithNoVarRefNoExpre);
CPPUNIT_TEST( testGetLineIndexForPatternWithNoMatch);
CPPUNIT_TEST( testGetLineIndexForPatternWithAssignConstant );
CPPUNIT_TEST( testGetLineIndexForPatternWithAssignOneVar );
CPPUNIT_TEST( testGetLineIndexForPatternWithAssignShortExp );
CPPUNIT_TEST( testGetLineIndexForPatternWithAssignLongExp);
CPPUNIT_TEST( testGetLineIndexForPatternWithAssignLongExpMany);
CPPUNIT_TEST( testGetLineIndexForPatternAssignLongExpManyWithNoVarRef);
CPPUNIT_TEST( testGetLineIndexForPatternAssignLongExpManyWithNoExpre);
CPPUNIT_TEST( testGetLineIndexForPatternWhileWithNoVarRef );
CPPUNIT_TEST( testGetLineIndexForPatternWithIf );
CPPUNIT_TEST( testGetLineIndexForPatternIfWithNoVarRef );
CPPUNIT_TEST( testGetLineIndexForPatternAssign );


CPPUNIT_TEST_SUITE_END();
public:
void setUp();
void tearDown();
// method to test the constructor
void testConstructor();

/**********Line**************/
//assign
void testGetLineIndexForPatternAssignWithNoVarRef();
void testGetLineIndexForPatternAssignWithNoVarRefNoExpre();
void testGetLineIndexForPatternWithNoMatch();
void testGetLineIndexForPatternWithAssignConstant();
void testGetLineIndexForPatternWithAssignOneVar();
void testGetLineIndexForPatternWithAssignShortExp();
void testGetLineIndexForPatternWithAssignLongExp();
void testGetLineIndexForPatternWithAssignLongExpMany();
void testGetLineIndexForPatternAssignLongExpManyWithNoVarRef();
void testGetLineIndexForPatternAssignLongExpManyWithNoExpre();
//while
void testGetLineIndexForPatternWithWhile();
void testGetLineIndexForPatternWhileWithNoVarRef();
//if
void testGetLineIndexForPatternWithIf();
void testGetLineIndexForPatternIfWithNoVarRef();

void testGetLineIndexForPatternAssign();


};
#endif